home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / DEMOS / DN116.ZIP / DEMONEWS.116 next >
Encoding:
Text File  |  1996-03-17  |  53.9 KB  |  1,032 lines

  1. Start.of.DemoNews.116..............................................Size:55,177
  2.  
  3.  ______/\___________________________       __  ________________ ___  /\_______
  4.  \____   \  ________ _   _ ______   \     /  \|  \  ________   |   \/  ______/
  5.  /   |    \  _)   \   \_/   \   |    \   /    \   \  _)   \    |    \______  \
  6. /    |     \       \   |     \  |     \ /          \       \  /~\    \    /   \
  7. \_____     /_______/___|     /________/ \____\_____/_______/_________/________/
  8.     \_____/            |____/
  9.                                                       | Subscribers  :  1935
  10.        DemoNews Issue #116 - February 20, 1996        |   Last Week  :  1903
  11.                     -------------                     |   Change     :   +32
  12.      DemoNews is a newsletter for the demo scene.     | Archive Size : 2097M
  13.  It is produced by Hornet at the site ftp.cdrom.com.  |   Last Week  : 2064M
  14.     Our demo archive is located under /pub/demos.     |   Remaining  :  836M
  15.                                                       |
  16. =-[Contents]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  17.  
  18.    Line    Section
  19.  ------    -------------------------------------------------------------------
  20.      31    Calendar
  21.      49    Top Downloads
  22.      74    Uploads
  23.     390    Articles
  24.     392      Introduction................................Snowman
  25.     446      Intro to 3D Graphics - Volume 02............Kiwidog
  26.     805      VGA Hardware Tricks, Part 4/6...............Trixter
  27.    1008    Subscribing
  28.    1023    Closing
  29.  
  30.  
  31. =-[Calendar]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  32.  
  33.  Date      Event               Location  Concact Points
  34.  --------- ------------------- --------- -------------------------------------
  35.  23 Feb 96 Pre-Awakening       U.S.A.    cramerc@elwha.evergreen.edu
  36.  29 Mar 96 Mekka               Germany   PV80090@PH80090.HH.eunet.de
  37.                                          www.xs4all.nl/~blahh/RAW/Parties
  38.                                            /Invitations/Mekka.html
  39.  02 Apr 96 The Gathering       Norway    mikaels@powertech.no
  40.                                          www.ifi.uio.no/~uwek/Crusaders/TG
  41.  06 Apr 96 X                   Netherlnd cba@xs4all.nl
  42.                                          www.xs4all.nl/~herkel
  43.  31 May 96 Naid                Canada    naid@autoroute.net
  44.                                          www.autoroute.net/~naid
  45.  
  46.  More information is at http://hagar.arts.kuleuven.ac.be/~sdog/party.html
  47.  
  48.  
  49. =-[Top Downloads]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  50.  
  51.  NOTE: Statistics are sometimes slightly off due to symbolic links, mirrors,
  52.  renamed files, and other things which affect the log files.
  53.  
  54.  <Files downloaded total : 052362>
  55.  
  56.  Pc Times FileName.Ext      Pc Times FileName.Ext       Pc Times FileName.Ext
  57.  -- ----- --------.---      -- ----- --------.---       -- ----- --------.---
  58.  <COMBINED LIST>            <DEMOS LIST>                <GRAPHICS LIST>
  59.   1 00452    ft205.zip       1 00179  animate.zip        1 00031   airwar.zip
  60.   2 00217 ice9601a.zip       2 00174 nooon_st.zip        2 00030  scarlet.zip
  61.   3 00193     cp16.zip       3 00163 ftj_ymca.zip        3 00028 veced300.zip
  62.   4 00182    ft204.zip       4 00135  cmapaim.zip        4 00028 dst_frac.zip
  63.   5 00179 ice9601b.zip       5 00129 cmapaifx.zip        5 00025  bedtime.zip
  64.   6 00179  animate.zip      <MUSIC LIST>                <CODE LIST>
  65.   7 00174 nooon_st.zip       1 00452    ft205.zip        1 00088 dn114_3d.zip
  66.   8 00163 ftj_ymca.zip       2 00192     cp16.zip        2 00073   kmagv2.zip
  67.   9 00149 scrmt321.zip       3 00182    ft204.zip        3 00068  alabv12.zip
  68.  10 00144 acdu0196.zip       4 00149 scrmt321.zip        4 00058    water.zip
  69.                                                          5 00053 dos32v33.zip
  70.  
  71.  <Files downloaded total : 051933>
  72.  
  73.  
  74. =-[Uploads]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  75.  
  76. =----------------------------------------------------------[File Information]-=
  77.  
  78.  All files listed below are on ftp.cdrom.com under /pub/demos.
  79.  Please keep in mind that all ratings are subjective.
  80.  
  81.  If your file transfers are too slow, there are several alternatives:
  82.  
  83.    Our code mirror is ftp.co.iup.edu/code.  ftpadmin@ftp.co.iup.edu for help.
  84.    Try getting files from the web at http://www.cdrom.com/pub/demos
  85.    See /hornet/demonews/demonews.102 for details about ftpmail.
  86.  
  87.  You may also wish to check out a couple of other good demo sites:
  88.  
  89.    ftp://ftp.arosnet.se/e:\demo maintained by Zodiak / Cascada
  90.    ftp://hagar.arts.kuleuven.ac.be/demos maintained by Sleeping Dog / Natives
  91.  
  92.  Here are also a few good WWW links to try out (under construction):
  93.  
  94.    http://www.th-zwickau.de/~maz/sound.html for music and sound utils
  95.  
  96. =-------------------------------------------------------------[Demos:General]-=
  97. Location /demos/alpha             Size Rated Description
  98. =-------------------------------- ---- ----- ---------------------------------=
  99. /1994/t/thefirst.zip               283 ***   The First by Strontium 90
  100. /1995/f/fdg_ind.zip                352 ***   Indaba by Fudge
  101. /1996/0-9/1frame.zip                 7 ****  1 Frame by Dlux
  102. /1996/f/frosty.arj                  20 **    Frosty by Sir Hes
  103. /1996/n/nn.arj                     243 *+    NoNameIntro by Sir Hes
  104.  
  105. General Probe 1996 4k Intros (GP96:in4k:)
  106. /1996/a/ame_pain.zip                 5 ****  01: Pain by Amnesty
  107.  
  108. Juhla 1996 Demos (JUH96A:demo:)
  109. /1996/o/onenight.zip               261 **    EE: One-Night Stand by QP
  110.  
  111. Juhla 1996 64k Intros (JUH96A:in64:)
  112. /1996/e/emf_porn.zip                61 ***+  15: Porno by EMF
  113.  
  114. =-------------------------------------------------------------[Music:General]-=
  115. Location /demos/music             Size Rated Description
  116. =-------------------------------- ---- ----- ---------------------------------=
  117. /disks/1995/x/xmas95.zip          1793 **+   Xmas 95 by Epinicion
  118. /songs/1994/mod/f/fantasy.zip      199 **+   Fantasy World by ??
  119. /songs/1994/mod/m/minion.zip       137 **    Minions of Power by ?
  120. /songs/1995/s3m/2/2t2-sadw.zip     289 ***+  A Sad World We Live In by B00mer
  121. /songs/1995/s3m/a/arn_bara.zip      92 *+    Maior Abandonado by nS
  122. /songs/1995/s3m/a/arn_fine.zip     114 **+   I Feel Fine by nS and Minesota
  123. /songs/1995/s3m/a/arn_free.zip     254 ***   Free as a Bird cover by Minesota
  124. /songs/1995/s3m/a/arn_iron.zip     182 *+    Iron Man cover by Minesota
  125. /songs/1995/s3m/a/arn_mk2t.zip     340 *     MK 2 Techno by CJ Cyberjobe
  126. /songs/1995/s3m/a/arn_sdm.zip      214 *+    Short Dick Man by HBM
  127. /songs/1995/s3m/a/arn_strt.zip     245 *+    Funky Street Walk by CJ Cyberjobe
  128. /songs/1995/s3m/a/arn_tnk.zip      108 **    Thinking About You by HBM
  129. /songs/1995/s3m/a/ascen.zip        264 ***   Ascension by Master of Darkness
  130. /songs/1995/s3m/e/ele-plan.zip     237 ***   Planet on Acid by Elemental
  131. /songs/1995/s3m/f/flp-bd.zip       206 **    Bioptic Dichotomy by Asken
  132. /songs/1995/s3m/f/flp-wnds.zip     174 ***   Windstorm by Mondo
  133. /songs/1995/s3m/h/highden2.zip      72 *+    High Density by Warp
  134. /songs/1995/s3m/j/js-cattl.zip     153 *     Wonder Cattle by Speig
  135. /songs/1995/s3m/k/kon-no.zip       111 **+   Accept no Subs. by Flacco + Waarp
  136. /songs/1995/s3m/v/v8r-ap.zip       210 ***   Acid Phreak by viol8r
  137. /songs/1995/s3m/w/wait4u.zip         3 ***   Waiting for You by falcon
  138. /songs/1995/s3m/w/wings.zip         64 **    Wings by Warp
  139. /songs/1995/s3m/w/wings3.zip       101 **    Wings 3 by Warp
  140. /songs/1995/s3m/x/xmass.zip        329 +     X-mass jam by BigpiE
  141. /songs/1995/s3m/y/ybbanjo.zip      156 ***+  Banjo jammin by Yannis
  142. /songs/1995/s3m/y/ybblub.zip        50 **+   Blubbiest Places by Yannis
  143. /songs/1995/s3m/y/ybecho.zip       176 ***+  Echomation by Yannis
  144. /songs/1995/s3m/y/ybmirac.zip       47 **+   Little Miracle by Yannis
  145. /songs/1995/s3m/y/ybtones.zip       67 ***+  Harmonic Tones by Yannis
  146. /songs/1995/s3m/z/znc-80kh.zip      72 **    Around the World in 80 by zinc
  147. /songs/1995/xm/f/faraway.zip        54 **    Faraway Trek by Joshua Szmajda
  148. /songs/1995/xm/f/flp-glid.zip      135 **+   Sunset Glider by Wolfgang Krauser
  149. /songs/1995/xm/f/flp-jour.zip      160 ***   Journey to Sky Tower by Archon
  150. /songs/1995/xm/f/flp-slow.zip      274 ***   Slow Love by Gillespie
  151. /songs/1995/xm/g/grv_jour.zip      181 ***   N R Livet Leker by Zalt
  152. /songs/1995/xm/x/xmlookup.zip     4636 **    Lookup by Omega
  153. /songs/1995/xm/x/xtd_040.zip       311 ***+  Guiding Light by Virtual Rhythm
  154. /songs/1995/xm/x/xtd_045.zip       879 *+    Fallin Apart by Assex
  155. /songs/1995/xm/x/xtd_046.zip       400 ****  Allegorie by Virtual Rhythm
  156. /songs/1995/xm/x/xtune.zip         111 *+    Xtunes by Darius
  157. /songs/1995/xm/z/zan-extr.zip      111 **    Extreme Overload by zanti
  158. /songs/1996/mod/g/grv_fun.zip      194 **+   Funkadelic's Jam by Omen
  159. /songs/1996/mod/h/hnz-bear.zip     140 ***   Bear by Hunz
  160. /songs/1996/mod/h/hnz-evnt.zip      76 **+   Events by Hunz
  161. /songs/1996/mod/h/hnz-fary.zip      56 **    FairyFloss by Hunz
  162. /songs/1996/mod/h/hnz-free.zip      75 ***+  Freestyle by Hunz
  163. /songs/1996/mod/h/hnz-grow.zip     112 ***+  Growing to fast? by Hunz
  164. /songs/1996/mod/h/hnz-mile.zip      82 ***   24,000 miles by Hunz & Hollywood
  165. /songs/1996/mod/h/hnz-sfrn.zip     138 **    Sufferings by Hunz
  166. /songs/1996/mod/h/hnz-tech.zip      96 **+   Techno Horses by Hunz
  167. /songs/1996/mod/h/hnz-time.zip     123 ***   Time Has Gone by Hunz
  168. /songs/1996/mod/h/hnz-tran.zip     117 ***+  Transfer by Hunz
  169. /songs/1996/mod/i/inspired.zip      83 ***   Inspired by Strix
  170. /songs/1996/mod/k/k_sting.zip      255 ***+  Stingray by Hollywood
  171. /songs/1996/mod/l/luminous.zip     167 **    Luminous Future by Smash
  172. /songs/1996/mod/l/lw_venus.zip      97 **+   Venus Power by Michiru
  173. /songs/1996/mod/t/t_krdogg.zip     133 **    Kraq Dogg by David Weekly
  174. /songs/1996/mod/y/ybstrsrf.zip     174 ****  Street surfin by Yannis
  175. /songs/1996/mtm/k/k_lodge.zip      391 ***+  Lodge of 3 Globes by Maelcum
  176. /songs/1996/mtm/k/k_opp.zip         87 ***   Opposition by TheHacker
  177. /songs/1996/other/k/kx-synd.zip    435 *+    Syndicate of Death by Kxmode
  178. /songs/1996/other/m/mt-ww0.zip     217 **+   Wantonly Waiting by Mindtrip
  179. /songs/1996/other/n/no-secon.zip   107 ***   Second Sight by Delta X
  180. /songs/1996/s3m/a/a_ap.zip         145 ***+  Atomic Plague by Matt Friedly
  181. /songs/1996/s3m/a/am_tpe.zip       129 **    Psychedelic Experience by Amorphis
  182. /songs/1996/s3m/a/arn_geek.zip      95 **+   Geek Stink Breath by Minesota
  183. /songs/1996/s3m/a/athought.zip     167 ****  Another Night of Thought by ZaStaR
  184. /songs/1996/s3m/b/brokenw.zip       84 ****  Broken Wings by Warp
  185. /songs/1996/s3m/f/foo.zip          915 **    I'll Stick Around by Stein
  186. /songs/1996/s3m/g/g_abort.zip       82 *     Abortions Suck by Huggy Bear
  187. /songs/1996/s3m/h/hd-chnce.zip      88 ***   No More Chances by Crus
  188. /songs/1996/s3m/i/iha-acid.zip      79 **+   Acidic Perspiration by Iha
  189. /songs/1996/s3m/j/jbmutate.zip     311 **+   Mutational Pathogen. by Schizoid
  190. /songs/1996/s3m/j/jezebel.zip      978 +     Juke Joint Jezebel by Stein
  191. /songs/1996/s3m/j/judgmnt.zip      271 **+   Judgement by mJan
  192. /songs/1996/s3m/k/k_ballad.zip     380 ****  The Last Ballad by Siren
  193. /songs/1996/s3m/k/k_lproof.zip     194 *+    Living Proof by GooRoo
  194. /songs/1996/s3m/k/k_softy.zip      204 +     Softy by Karl
  195. /songs/1996/s3m/l/life.zip          46 **    Life is Life by ReCoder
  196. /songs/1996/s3m/n/nin_ruin.zip     727 ***+  Ruiner (remix) by Bedlamite
  197. /songs/1996/s3m/p/plasma.arj       202 **+   Plasma by Petador
  198. /songs/1996/s3m/p/pr-calln.zip     186 ***   The Calling by Darkwolf
  199. /songs/1996/s3m/p/pr-stand.zip     281 ***+  Standing Close by Darkwolf
  200. /songs/1996/s3m/v/v-inner.zip      145 ***+  Inner Turmoil by Vegas
  201. /songs/1996/s3m/w/wr-ccity.zip      59 ***   Century City by wraith
  202. /songs/1996/s3m/w/wr-utopi.zip     186 ***   Utopia by wraith
  203. /songs/1996/s3m/y/ybfurble.zip       9 ****  Invasion of Furbles by Yannis
  204. /songs/1996/s3m/y/ybtiny.zip         6 ***   Tinypino by Yannis
  205. /songs/1996/s3m/y/yee-had.zip      139 **+   Yeeeeeeeehawwwwwwww! by Hadji
  206. /songs/1996/s3m/y/yyz.zip          391 ***   Yyz by Ler
  207. /songs/1996/s3m/z/zn-happy.zip     195 ***+  Happy Daze by zinc
  208. /songs/1996/s3m/z/zn-jazzt.zip      90 **+   Jazzting by zinc
  209. /songs/1996/xm/e/el-defin.zip      100 ***   Defining by Electric Lucidity
  210. /songs/1996/xm/e/eternity.zip      573 ***+  Eternity by Khyron
  211. /songs/1996/xm/f/fh-fperf.zip      114 **    Fake Perfection by FH
  212. /songs/1996/xm/f/fh-sf96.zip       117 **    Strange Feelings 96 by FH
  213. /songs/1996/xm/f/flp-gl01.zip      144 **+   Fallen from Grace by Gillespie
  214. /songs/1996/xm/f/fm-snoop.zip      292 ***+  Raping the Dog by Mellow-D
  215. /songs/1996/xm/f/fr-loye.zip       256 ***+  Love Opens Your Eyes by Nabo & Teo
  216. /songs/1996/xm/g/gl-dist.lzh       385 ***+  Distance by Glitch
  217. /songs/1996/xm/g/gl-lapse.lzh      226 **    Lapse by Glitch
  218. /songs/1996/xm/g/grv_wate.zip      110 ***+  Waterfall by Balrog
  219. /songs/1996/xm/h/hyperion.zip      515 **+   Hyperion by Outrage & Orc
  220. /songs/1996/xm/j/j-kgdsky.zip      282 ****+ Kingdom Skies by Jase
  221. /songs/1996/xm/k/k_mhouse.zip      581 ***   My House by Vivid
  222. /songs/1996/xm/l/lok_deep.zip      241 *+    Deep Inside by Ganja Man
  223. /songs/1996/xm/l/lok_spkl.zip      155 *+    Speed Kills by Ganja Man
  224. /songs/1996/xm/m/maz-last.zip      284 ****  Fifteen by Dynamic Harmony
  225. /songs/1996/xm/m/moonscpe.arj      613 ***   Moonscape by Petador
  226. /songs/1996/xm/m/mr_clytn.zip      309 ****+ Claytons by Mick Rippon
  227. /songs/1996/xm/o/ophelia2.zip      350 ***+  Ophelia 2 by Xerxes
  228. /songs/1996/xm/p/ploff-01.zip      374 ***   It Makes me Happy by Ploffer
  229. /songs/1996/xm/z/zan-reli.zip      185 ***   Relieved by zanti
  230.  
  231. The Party 1995 4-Channel Music (TP95:m4ch:)
  232. /songs/1995/mod/f/fountain.zip     454 ****+ 01: Fountain of Sighs by Unreal
  233. /songs/1995/mod/c/compact.zip      142 ****  03: Compact Caviar by Mystical
  234. /songs/1995/mod/k/kissmyas.zip     244 ****  05: Kissmyass by Jazz,Haujobb
  235. /songs/1995/mod/j/jazzin.zip       297 ****  09: Jazzin by FBY
  236. /songs/1995/mod/c/chico_d.zip      318 ***+  11: Chico de Loros by Gandbox
  237. /songs/1995/mod/w/what_gui.zip     557 ***+  13: What Guitar by Mindfuck
  238. /songs/1995/mod/t/trancepl.zip     579 ***   14: Trans Playground by Prophet
  239. /songs/1995/mod/p/post_ouv.zip     275 ***+  15: Post Ouverture by Trip
  240. /songs/1995/mod/p/play_kid.zip     482 ****  16: Play Kid by Unison
  241. /songs/1995/mod/d/december.zip     164 ***+  17: December by Pinocchio,Contraz
  242. /songs/1995/mod/s/sleeping.zip     119 ****  19: Energy by Laz
  243. /songs/1995/mod/p/party_su.zip     147 ****  20: Party Sux by Dreamer
  244. /songs/1995/mod/s/separate.zip     133 ***+  21: Seperate Ways by Clawz
  245. /songs/1995/mod/m/magic_jo.zip     243 ***+  22: Magic Journey by Fash
  246. /songs/1995/mod/s/spritzst.zip     215 ***   23: Spritzstunden by Slide G.
  247. /songs/1995/mod/w/world_of.zip     278 ***+  26: World Insanity by Lizardking
  248. /songs/1995/mod/b/blacksil.zip     116 *+    XX: Black Silver by ???
  249. /songs/1995/mod/b/bnmainia.zip     100 **    XX: Bn Mainia by Maf + Eagle
  250. /songs/1995/mod/b/bornin57.zip     108 ***   XX: Born in 1957 by Dave
  251. /songs/1995/mod/c/campaign.zip     218 **+   XX: Virulent Campaign by Sonic
  252. /songs/1995/mod/c/can_pas.zip      162 ***   XX: Canned Passion by Dep
  253. /songs/1995/mod/c/caphlame.zip     211 *+    XX: Caph and Lamed by Prick
  254. /songs/1995/mod/c/cascade.zip      240 **    XX: Cascade Fsol by The Fox II
  255. /songs/1995/mod/c/chaseit.zip      162 ***   XX: Chaseit by Vincent
  256. /songs/1995/mod/c/china.zip        229 **    XX: China by Al Bundy
  257. /songs/1995/mod/c/chr_monk.zip     390 ***   XX: Trance Monks by Chronic
  258. /songs/1995/mod/c/classic.zip      255 **    XX: Classical Interrupt by CDK
  259. /songs/1995/mod/c/cloudz.zip       361 **+   XX: Behind the Cloudz by Bier
  260. /songs/1995/mod/c/co-coco.zip      171 ***   XX: Co-Cocorico by Shad + Live
  261. /songs/1995/mod/c/collecti.zip     364 **+   XX: Collective H. Compo by Wax
  262. /songs/1995/mod/c/complete.zip     153 ***+  XX: Complete Disaster by Psycho
  263. /songs/1995/mod/c/control.zip      224 ***   XX: Control by Hilander
  264. /songs/1995/mod/c/cracklin.zip     230 *     XX: Crackling Turd by Taste
  265. /songs/1995/mod/c/crazy_s.zip      266 ***+  XX: Crazy, Sexy, Cool by Virgill
  266. /songs/1995/mod/c/creature.zip     289 ***   XX: Creature by Odie
  267. /songs/1995/mod/d/do_you_l.zip     209 *+    XX: Do You Love by VVV,MJK
  268. /songs/1995/mod/d/dragonbr.zip     406 **    XX: Dragon Breath by Black Dragon
  269. /songs/1995/mod/d/dreamvoy.zip     147 ***+  XX: Dream Voyage by Gizmo
  270. /songs/1995/mod/e/easy_lis.zip     144 **+   XX: Easy Listening by Bohdi
  271. /songs/1995/other/ecnofunx.zip     369 [n/a] XX: Ecno Funx by Gigantbox
  272. /songs/1995/mod/e/en_el_ca.zip     167 ****  XX: En el Cafe by Tiny
  273. /songs/1995/mod/e/especial.zip     100 ****  XX: Espcial Special by Knaekpolsen
  274. /songs/1995/mod/e/exrcompt.zip     220 ***+  XX: Exrcomptun by Elixir
  275. /songs/1995/mod/f/field-da.zip     507 ****  XX: Field-Day by Scorpik
  276. /songs/1995/mod/f/forever_.zip     362 *+    XX: Forever Love by Trance
  277. /songs/1995/mod/f/ft_magic.zip     233 **    XX: FT Magic Sound by Thiesen
  278. /songs/1995/mod/g/gettings.zip     193 **    XX: Getting Started by Knox
  279. /songs/1995/mod/g/gluppobe.zip     373 ***+  XX: Gluppobert by Quazar
  280. /songs/1995/mod/g/gnaule.zip       240 **+   XX: Gnaule by Doh
  281. /songs/1995/mod/g/god_of_.zip      254 **    XX: God of Errors 2 by Raze
  282. /songs/1995/mod/g/goingtot.zip     204 **+   XX: Going to the Top by Mot,Istari
  283. /songs/1995/mod/g/greenday.zip     275 **    XX: Greenday Thing by Futuremind
  284. /songs/1995/mod/h/hei-bang.zip      55 +     XX: Bim Bom Bam by HeiZahn
  285. /songs/1995/mod/h/hey_skat.zip     251 **    XX: Hey Skat by Splif
  286. /songs/1995/mod/h/higher_a.zip     193 **+   XX: Higher by Randall,Eracore
  287. /songs/1995/mod/h/hooyowyc.zip     170 ***+  XX: Hoyowy Chrzaszcz by Spiryt,Ils
  288. /songs/1995/mod/i/iconbast.zip     197 *+    XX: Iconbastic by Maytz
  289. /songs/1995/mod/i/illusion.zip     172 ***+  XX: Illusion by Trance
  290. /songs/1995/mod/i/in_addic.zip     225 **+   XX: In Addiction by TNT
  291. /songs/1995/mod/i/in_my_ba.zip     286 ***   XX: In My Backyard by Fender
  292. /songs/1995/mod/i/innertra.zip     130 **+   XX: Innertrance by KTN
  293. /songs/1995/mod/j/jazztime.zip      69 **    XX: It's Jazztime by Sector
  294. /songs/1995/mod/j/jerry-sh.zip     444 ****  XX: Jerry-Shop by Dan,Norby
  295. /songs/1995/mod/k/kickin_i.zip     182 **+   XX: Kickin It Playback by Mortimer
  296. /songs/1995/mod/k/kresten_.zip     161 ***   XX: Buddha Medly by DTS
  297. /songs/1995/mod/l/live_for.zip     115 **    XX: Live Forever by Trapdoor
  298. /songs/1995/mod/m/m-caviar.zip     141 ***+  XX: Compact Caviar by Mystical
  299. /songs/1995/mod/m/manic_fi.zip     217 *+    XX: Manic Filters by Decybel
  300. /songs/1995/mod/m/marching.zip     102 *+    XX: Marching Elefants by X-Cess
  301. /songs/1995/mod/m/media-te.zip     231 **+   XX: Media Techno Popicus by Speedy
  302. /songs/1995/mod/m/mellow_t.zip     225 **    XX: Mellow Technology by Klorathy
  303. /songs/1995/mod/m/morning-.zip     126 ***+  XX: Morning by Dan Dryer
  304. /songs/1995/mod/m/mountain.zip     404 ***   XX: Mountain High by Tricktrax
  305. /songs/1995/mod/m/mystics.zip      205 **    XX: Mystic by Speck
  306. /songs/1995/mod/n/neat_com.zip     373 **    XX: Neat by Trickster
  307. /songs/1995/mod/n/nowasyn.zip      220 *+    XX: Nowasyn by Nowawes
  308. /songs/1995/mod/o/obsessio.zip     156 ***   XX: Obsession by Zoomorph
  309. /songs/1995/mod/o/omega.zip        196 **    XX: Omega by Smooth
  310. /songs/1995/mod/o/out_of_g.zip     155 **+   XX: Out of Goa by Yogi
  311. /songs/1995/mod/p/plutoniu.zip     146 *+    XX: Plutonium 239 by Tls
  312. /songs/1995/mod/r/r0undab0.zip      87 ***+  XX: Roundabout by Boon
  313. /songs/1995/mod/r/rave_tri.zip     196 *     XX: Rave Trip by X-et
  314. /songs/1995/mod/r/rocks.zip        226 ***   XX: On the Rocks by Necros
  315. /songs/1995/mod/s/saa_smuk.zip     227 *+    XX: Saa Smukt er Havet by Kim
  316. /songs/1995/mod/s/sassy_as.zip     210 *+    XX: Sassy Assline by Muttley
  317. /songs/1995/mod/s/screwdri.zip     148 *+    XX: Screwdriver Disaster by Coma
  318. /songs/1995/mod/s/shake_yo.zip     108 ***   XX: Shake Body by C.Cool,Avocado
  319. /songs/1995/mod/s/should_t.zip     172 *     XX: Should Turn to B by Tarmslyng
  320. /songs/1995/mod/s/smooth_a.zip     247 **+   XX: Smooth Attack by Pman
  321. /songs/1995/mod/s/sorry.zip         82 **    XX: Sorry to Party by Dixan
  322. /songs/1995/mod/s/space_fi.zip     115 **+   XX: Space Fish in Sig T3 by Pixie
  323. /songs/1995/mod/s/spacelab.zip     259 **    XX: Spacelab 9 by Shane
  324. /songs/1995/mod/s/spiral_m.zip     333 **+   XX: Spiral Mechanism by Shout
  325. /songs/1995/mod/s/suddenin.zip     334 **    XX: Sudden Inspiration by Hille
  326. /songs/1995/mod/s/sw-wart.zip      211 ***+  XX: Wart by Damac,Swallow
  327. /songs/1995/mod/s/syndrome.zip     226 ***   XX: Syndrome by POW
  328. /songs/1995/mod/s/syntacti.zip     149 ***   XX: Syntactic Sugar by Mittlag
  329. /songs/1995/mod/t/the_fire.zip     115 **    XX: The Fire Bird by Notman
  330. /songs/1995/other/the_madd.zip      65 [n/a] XX: MADDog in Acid World by Lasse
  331. /songs/1995/mod/t/the_milk.zip     205 **    XX: The Milkman by Weezer
  332. /songs/1995/mod/t/the_over.zip     268 ***+  XX: The Overture 2 by Front 6
  333. /songs/1995/mod/t/theatric.zip     170 **    XX: Theatrical by Deck
  334. /songs/1995/other/theparty.zip     478 [n/a] XX: The Party by Gunni
  335. /songs/1995/mod/t/too_much.zip     275 ***   XX: Too Much by Marc
  336. /songs/1995/mod/t/totalecl.zip     531 ***   XX: Total-Eclipse by Zany (check)
  337. /songs/1995/mod/t/trans-s.zip      111 **+   XX: Trance-Sax-Ual by Ktn
  338. /songs/1995/mod/f/tvnet.zip        593 ***+  XX: TV Network by Cash
  339. /songs/1995/mod/t/tzjim-sc.zip      64 **    XX: Tzjim Schack by Swaxi
  340. /songs/1995/mod/v/vandpibe.zip     154 *     XX: Vandpibe by Jeronimus
  341. /songs/1995/mod/v/vatican.zip       12 *+    XX: Vatican Rag by Hubert
  342. /songs/1995/mod/v/vermins-.zip      76 **    XX: Vermins Eat Dust by Dr.Strange
  343. /songs/1995/mod/v/visionai.zip     395 ***   XX: Visionaire by Bethoven
  344. /songs/1995/mod/x/xact_ple.zip     207 ***   XX: Xact Pleasure by NFC
  345. /songs/1995/mod/z/zyr.zip          124 **+   XX: Zyrian by S. Koponen
  346.  
  347. =----------------------------------------------------------[Graphics:General]-=
  348. Location /demos/graphics          Size Rated Description
  349. =-------------------------------- ---- ----- ---------------------------------=
  350. /disks/1996/fredpack.zip           257 ***+  VGA Pack by Fred Beltran
  351. /images/1996/b/b2p3_1.zip           16 *+    Billy Baygle by E.Megas
  352.  
  353. EXE 95 Graphics (EXE95:grfx:)
  354. /images/1995/w/wrd_alie.zip         22 ***   03: Alie by Ward
  355. /images/1995/e/eye_drkf.zip         29 **+   ??: Eye by ???
  356. /images/1995/f/farao.zip            90 ***+  ??: Farao by ???
  357. /images/1995/l/lany.zip             56 **+   ??: Lany by ???
  358. /images/1995/m/magic.zip            48 **    ??: Magic by ???
  359. /images/1995/s/sarkany.zip         101 [n/a] ??: Sarkany by ???
  360.  
  361. The Party 95 Graphics (TP95:grfx:)
  362. /images/1995/s/spacetit.zip        170 ****+ 01: Space Tits by Danny
  363. /images/1995/0-9/8climber.zip      132 ****  02: Climber by Rodney
  364. /images/1995/a/animalre.zip         51 ***   06: Animal Reign by Made
  365. /images/1995/s/silicon.zip         153 **+   09: Silicon by Louie
  366. /images/1995/s/smorrebr.zip        169 **    13: Smorrebr by Facet
  367. /images/1995/c/cutechri.zip         84 ***+  14: Cute Christina by Dice
  368. /images/1995/t/theevils.zip        120 **+   18: The Evils by Spawn
  369. /images/1995/e/eldar.zip            67 **    21: Eldar by Hook
  370. /images/1995/r/ratman.zip           76 ***+  39: Ratman by Darkman
  371. /images/1995/j/jansson.zip          17 **    43: Gamla by Saffron
  372. /images/1995/p/picturet.zip         79 **+   46: Picture T by Bifrost
  373. /images/1995/b/beyond_n.zip        138 ***   47: Beyond N by JCS
  374. /images/1995/s/sn-nuke.zip          15 **+   52: Nuclear Waste by Moebius
  375. /images/1995/s/splitter.arj         64 **    53: Splitter by Rad Ad
  376. /images/1995/c/champagn.zip         63 **    55: Champagne by Fiver
  377. /images/1995/t/theraid.zip          41 **+   74: The Raid by Damac
  378. /images/1995/o/osiris.zip           68 +     89: Osiris by Balkis
  379. /images/1995/a/assassin.zip         65 *+    ??: ??? by ???
  380. /images/1995/o/ofdeath.zip          40 **+   ??: ??? by ???
  381. /images/1995/s/spacefis.zip         40 **+   ??: Space Fist by Pixie
  382. /images/1995/w/wildbgan.zip        202 ***   ??: ??? by ???
  383.  
  384. =----------------------------------------------------[Miscellaneous:Reviewed]-=
  385. Location /demos                   Size Rated Description
  386. =-------------------------------- ---- ----- ---------------------------------=
  387. /mags/1996/cheese1.zip             217 **+   Cheese #1 by TKB
  388.  
  389.  
  390. =-[Articles]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  391.  
  392. =---------------------------------------------------[Introduction]--[Snowman]-=
  393.  
  394.  Hello all, and welcome to DemoNews issue 116.
  395.  
  396.  Our little ftp.cdrom.com server is feeling better after a bout with a bad
  397.  mount.  The /.11 drive (the Ada archive) went bad.  Around the same time,
  398.  some sort of file integrity error was detected on the mount that housed
  399.  everyone's home directories.  Many of us were without an outside world
  400.  mail-feed for about four days.  Upon restart, the clock on the server was
  401.  set ahead about 2.5 years.  This seemed to cause problems with the
  402.  listserver but everything appears to be working correctly now.
  403.  
  404.  On an unrelated note, I am now the /pub/perl archive maintainer.  My
  405.  responsibilities exist solely of checking up on a crontab mirroring job.
  406.  If only /pub/demos were that easy.  :)
  407.  
  408.  E. Megas wrote me and said that we should have some more "demo news" (i.e.
  409.  more news about the scene).  I agree.  Please send me some to print.
  410.  
  411.  Our /pub/demos/code mirror opened up this week.  See "File Information"
  412.  above for more details.
  413.  
  414.  There will be some very big changes coming up in the way we catalog files.
  415.  We are totally redesigning from the ground up the way we handle file
  416.  descriptions and other attributes.  For those of you who are old enough to
  417.  remember, we used to have an external .txt file for each .zip on the site
  418.  (kind of like a file_id.diz).  This made things easy to move around (didn't
  419.  have to update 00index.txt files) but wasn't very friendly.
  420.  
  421.  We then moved on to 00index.txt files, which made for somewhat easy
  422.  recursive subdirectory traversal in generating an ALLFILES.TXT. This was
  423.  fine for a while but for several reasons we have decided to go to a
  424.  MASTER.LST format, propagating all descriptions down through the directory
  425.  tree (rather than the other way around).  If this doesn't make sense or
  426.  sounds boring, that's ok.  You'll see benefits soon enough.  :)
  427.  
  428.  I have recently started playing a new game.  It's called "Make a Demo CD".
  429.  The goals are to make the scene happy and earn money for your company. The
  430.  penalties are getting sued for copyright violations and loosing respect
  431.  with the scene.  I'm just a newbie at this so I haven't progressed very
  432.  far. I will either have beaten this game or been disqualified by May 14th,
  433.  1996. If any of you know some cheat codes, I'd love to hear them.  In about
  434.  three weeks I'll talk about the multi-player edition.
  435.  
  436.  On a final note, we are a bit behind on getting DemoNews out.  The "Top
  437.  Downloads" needs to be done weekly to provide any sort of stable statistics.
  438.  As a result, expect to see two more issues of this newsletter before next
  439.  monday.
  440.  
  441.  Take care.
  442.  
  443.  Snowman / Hornet - r3cgm@cdrom.com
  444.  
  445.  
  446. =-------------------------------[Intro to 3D Graphics - Volume 02]--[Kiwidog]-=
  447.  
  448.  _____Greetings
  449.  
  450.  Welcome back everyone.
  451.  
  452.  It's time for the second article in the 3D series, in which we cover
  453.  another basic element of a 3D system... something seen in nearly ever demo
  454.  for the past few years that involves vectors at all.  Rotation.  Whether it
  455.  be that nice texture-mapped stone from Valhalla's "Solstice", or just a
  456.  flat-shaded cube from a 4k intro, things rotate almost constantly.  So it's
  457.  time to start performing some rotations on our own. :-)
  458.  
  459.  Once again, there will be a supplement to this article, but this time there
  460.  will be no extra article text; everything should be in here.  But the
  461.  supplement will have sample code, so you still should get it.
  462.  DN115_3D.ZIP. Just check in the same place on ftp.cdrom.com as the last
  463.  supplement...
  464.  
  465.  I'm going to keep this article relatively short (along with the subsequent
  466.  ones)... after all, Snowman has more to put in DemoNews than my constant
  467.  rambling, and I can't keep sucking up all the space like this. ;)
  468.  Nonetheless, I hope you find this article useful, as we continue our drive
  469.  toward learning 3D graphics.
  470.  
  471.  Ready?  Well like it or not, here we go! :)
  472.  
  473.  _____Section One - 2D Rotation
  474.  
  475.  Before we can get more sophisticated 3D rotations going, we need to try it
  476.  in two dimensions first... because 3D rotations are just based on three 2D
  477.  rotations, but combined.
  478.  
  479.  So how do we rotate something in 2D?  How do we take any 2D point, give it
  480.  an angle to rotate by about the origin, and get it correctly to its new
  481.  position?  Well this is where that Trig knowledge from the first article
  482.  comes into play.
  483.  
  484.  Everything about rotation involves Trig.  Sine and Cosine are very much
  485.  your friends here.  And it's not that complicated, really... you can rotate
  486.  in one plane with only 4 multiplies (other optimizations come later as
  487.  well).
  488.  
  489.  So how do we go about this?  Well, let's take it piece by piece.  First,
  490.  I'll assume the XY plane (the real one, where Y goes up) for this, as we
  491.  try to take a point and rotate it.
  492.  
  493.  A lot of docs, when trying to explain rotation, will give you the simple
  494.  equations for it but give you no clue as to how those equations came about.
  495.  Several people have asked me, "Hey, if and when you ever do a 3D tutorial,
  496.  tell me how the heck you get those rotation equations, cuz I have no idea
  497.  where those came from and why they work."
  498.  
  499.  Well, I can't quite tell you where they came from at first (like who
  500.  thought of them), but I can replicate the ideas here and show you what
  501.  makes sense to me.  If it makes sense to you to, then I guess it worked.
  502.  :-)
  503.  
  504.  Here's the idea...
  505.  
  506.  Get out a piece of paper.  No, don't worry, this isn't a quiz. ;)
  507.  
  508.  On the paper, draw a pair of conventional XY coordinate axes, and then
  509.  lightly sketch a large circle on it.  Make sure the circle is light; you
  510.  don't really need it for much except placing a couple points.
  511.  
  512.  After you draw the circle, put a point at about, say, 30 degrees (assuming
  513.  0 degrees is to the right and the angles go counterclockwise).  Then put
  514.  another point at about 70 degrees, in the same fashion.  We're going to
  515.  pretend that the first point is our original point, and that we're trying
  516.  to rotate it to the second point, our destination... a rotation of 40
  517.  degrees about the origin.  The actual accuracy of the points doesn't
  518.  matter; if you're a bit off, it's fine.
  519.  
  520.  Now with each point, draw a triangle for that point.  Each triangle's three
  521.  sides are the X axis, the the line from the origin to the point, and the
  522.  line from the point straight down to the X axis.  What you should have now
  523.  are two right triangles in the upper right quadrant of your XY plane, one
  524.  being pretty upright (the destination point's), and the other a bit more
  525.  wide than tall.
  526.  
  527.  Time for some labels...  okay, for each triangle, label the line going from
  528.  the origin to the point as "R" (for radius).  Since it's the same length
  529.  for both triangles, we use the same label.  Now, on the first triangle (the
  530.  short, wide one), label the side along the X axis "X", for that length.
  531.  Likewise, label the line from the X axis up to the point as "Y" for that
  532.  height.
  533.  
  534.  For the second triangle (the tall one, for the 70 degree point), label the
  535.  X length and Y height as "U" and "V", respectively, in a similar fashion.
  536.  
  537.  Finally, we need two angles.  In the angle between the X axis and the
  538.  first, lower R side (30 degrees), label it m (called Phi).  Then label the
  539.  angle between the lower R and the higher R (the one at 70 degrees) as i
  540.  (called Theta).
  541.  
  542.  There we go... we've got our drawing. :-)  If my little walkthrough in
  543.  drawing this has confused you to no end, either try it again from the
  544.  beginning, or look in the supplement; I'll include a PCX in there of this
  545.  same diagram I'm describing.
  546.  
  547.  Okay, so we have this drawing.  Basically, what we know in the beginning is
  548.  that we have this initial point at an unknown angle (we know it's 30
  549.  degrees in this example, but normally, you won't know that for arbitrary
  550.  points), yet we know it has Cartesian coordinates (X,Y).  What we want to
  551.  do is pump X and Y through an equation or two, along with the angle we want
  552.  to rotate by (which we labeled as Theta, and in this example is 40
  553.  degrees), and find out its new coordinates, called (U,V).  So what
  554.  equations do we use? Let's find out...
  555.  
  556.  There are several convenient identities in Trigonometry that you can find
  557.  in pretty much every math textbook with Trig in it.... one of those
  558.  identities is called the "Law of Sines", which goes like this...
  559.  
  560.    Sin(`)   Sin(a)   Sin(b)
  561.        ------ = ------ = ------
  562.      A        B        C
  563.  
  564.  Where A, B, and C are the lengths of the sides of a triangle, and `, a, and
  565.  b are the angles _directly opposite_ those sides...
  566.  
  567.          /|
  568.         /a|
  569.      C /  |
  570.       /   |A
  571.      /    |
  572.     /     |
  573.    /`    b|
  574.    --------
  575.    B
  576.  
  577.  It doesn't have to be a right triangle; it works for every triangle there
  578.  is. Granted, for our purposes, we _will_ be using our right triangles, and
  579.  this will help us out.
  580.  
  581.  Now if we use our first right triangle, the short one, and pretend that R
  582.  is our "C" of the triangle, by the fact that this is a right triangle, we
  583.  know that b is 90 degrees.  And the Sine of 90 is 1, which gives us one
  584.  very nice piece of math meat.
  585.  
  586.  We only need to use one other side of our Law of Sines formula in this
  587.  example, in this case, the A-` side.  In our case, "A" is the same as Y,
  588.  and ` is the same as m.  So we have a little mini-formula,
  589.  
  590.    Sin(90)   Sin(m)                   1    Sin(m)
  591.    ------- = ------    which means   --- = ------
  592.       R        Y                      R      Y
  593.  
  594.  Then, if you multiply each side by Y, it moves the Y to the left side, so
  595.  
  596.     Y
  597.    --- = Sin(m)
  598.     R
  599.  
  600.  This should all make sense so far, I hope.  If you're looking at the
  601.  diagram as you read this, it should clear things up a bit.
  602.  
  603.  Okay, so we can see the relation between the angle m, and the sides Y and
  604.  R. Well since m is across from Y, shouldn't we be able to have the same
  605.  kind of relation for the other triangle, with V and R?  The angle across
  606.  from V is just m and i added together, so shouldn't that work?
  607.  
  608.  Sure does. :-)
  609.  
  610.     V
  611.    --- = Sin(m+i)
  612.     R
  613.  
  614.  Okay, time for another nifty Trig identity (BTW, if you don't have a math
  615.  book with all these identities in it, let me know... if enough people ask
  616.  for a listing, I'll type up a quick reference list with identity equations
  617.  that you can use.  Just email to the address at the end, if you think you'd
  618.  like that :)
  619.  
  620.  Anyway, another nice identity is that for any two angles ` and a,
  621.  
  622.    Sin(`+a) = Sin(`)*Cos(a) + Cos(`)*Sin(a)
  623.  
  624.  So we sub that into our previous thing, and we have
  625.  
  626.     V
  627.    --- = Sin(m)*Cos(i) + Cos(m)*Sin(i)
  628.     R
  629.  
  630.  Multiply by R now, to get V (the destination point's X value that we've
  631.  been trying to find), and it's
  632.  
  633.    V = R*Sin(m)*Cos(i) + R*Cos(m)*Sin(i)
  634.  
  635.  Welp, last identity.... this one, taken from Polar coordinates.  If you've
  636.  had algebra, you've used Polar coordinates before.  Well if you remember
  637.  the way to convert a polar point to Cartesian (I doubt you do, so I'll
  638.  remind you... it's gonna take a while before you end up memorizing all
  639.  these darn formulas, trust me :)  those conversions are
  640.  
  641.    X = R*Cos(Theta)     *** Don't confuse these with our R, X, or Y!
  642.    Y = R*Sin(Theta)         They're just conversion equations ***
  643.  
  644.  Well look at our V equation above... notice anything?  We know Phi is an
  645.  angle in the triangle that deals only with X and Y, which we know (since
  646.  they're just your first point and all).  So can we drop those R*Sin(m) and
  647.  R*Cos(m) parts and just sub in X and Y like you would do with Polar? You
  648.  betcha.....
  649.  
  650.    V = Y*Cos(i) + X*Sin(i)       *** FINAL V EQUATION!!! :) ***
  651.  
  652.  That's all we need!  Hooray! :)  We know X and Y, since we started with
  653.  those.  And we know i, since it's the number of degrees we want to rotate
  654.  by (in our example, 40 degrees).  So if we use this equation, we get the V
  655.  value, which is the Y coordinate of the FINAL point. :)
  656.  
  657.  Now we still need to get U (the final point's X coordinate).  Luckily, the
  658.  series of equations is the same almost, except one identity is different. I
  659.  won't work out the whole thing again, you can do that if you want.  But
  660.  here are the differences that you'll see.  One, since we're doing the
  661.  horizontal element instead of vertical,
  662.  
  663.    U
  664.   --- = Cos(m+i)
  665.    R
  666.  
  667.  Now's Cosine's Sum of Angles formula is a little bit different than Sine's,
  668.  
  669.    Cos(`+a) = Cos(`)*Cos(a) - Sin(`)*Sin(a)
  670.  
  671.  which will end up giving us that subtraction instead of addition in the
  672.  end. If you keep working the equations the same as we did before, but with
  673.  this new identity, you get the U equation too! :)
  674.  
  675.    U = X*Cos(i) - Y*Sin(i)        *** FINAL U EQUATION!!! ***
  676.  
  677.  
  678.  Summing up those equations into nice, happy, 2D rotation form.....
  679.  
  680.  
  681.    NewX = (OldX*Cos(Theta)) - (OldY*Sin(Theta))
  682.    NewY = (OldY*Cos(Theta)) + (OldX*Sin(Theta))
  683.  
  684.  And there we have it!  Note that I made it very clear as to the difference
  685.  between the "Old" and "New" values.  It's important that you do this, too.
  686.  You don't want to just use a value "X", for example.... because if you
  687.  calculate the "new" X and end up using that instead of the "old" X in the
  688.  second equation (for NewY), you don't get the right rotation.
  689.  
  690.  IN ROTATION, USE ONLY THE OLD VALUES UNTIL ALL THE NEW ONES ARE FOUND!
  691.  
  692.  Once you have the final new X and Y values, _THEN_ replace the old pair
  693.  with the new pair, and go on your way.  Make sure to keep the values
  694.  separate until that time.
  695.  
  696.  BTW... As you look back at how I derived these rotation formulas, don't
  697.  feel bad if you feel like you couldn't have derived them yourself...
  698.  especially if you're just beginning.  I know I ran on these formulas
  699.  blindly for over a year before I ended up losing them and was forced to
  700.  recreate them again in this fashion.  I couldn't have done it earlier.  It
  701.  takes time, so if you feel like you're still in the dark... don't.
  702.  Eventually you'll get the hang of it all. :-)
  703.  
  704.  Any more to 2D rotation?  Nope, that's the whole of it.  Before you try out
  705.  3D rotation (explained in the next section), test out the above principles
  706.  in some of your own code, by plotting a few pixels here and there and then
  707.  rotating them about the origin.  It's not hard at all to turn the above
  708.  formulas (formulae?) into code.  Also, if you need some help or are just
  709.  plain curious, I've got some example source (in both Pascal and C, just
  710.  like last time) in the supplement, demonstrating this stuff.  Feel free to
  711.  check it out. :)
  712.  
  713.  Okay, well, enough of this planar stuff.... on to 3D rotations!  (And
  714.  relax, there's not much more; you've done the bulk of the work already....)
  715.  
  716.  _____Section Two - 3D Rotation
  717.  
  718.  So what do we need to turn our rotations into 3D rotations?  Not much,
  719.  actually.  There are many ways to do rotations in 3D, some simpler than
  720.  others.  The simplest (and most common from what I've seen) way is to do it
  721.  by using three 2D rotations, one for each axis.
  722.  
  723.  The 2D rotations we did in the last section are on the XY plane.  But as
  724.  you think about the XY plane in terms of 3D, the rotation takes on another
  725.  meaning... it was also a rotation ABOUT the Z axis.  Meaning that we have
  726.  the Z axis, and whatever Z values the points may have, they stay the same,
  727.  as we are rotating around that axis itself.  The only values that change in
  728.  a rotation about any axis are the values of the two OTHER coordinates.
  729.  
  730.  So a rotation about Z will affect X and Y, a rotation about X will affect Y
  731.  and Z, and a rotation about Y will affect Z and X.  It's just one big
  732.  cycle...
  733.  
  734.  So if we want to do a full all-axis 3D rotation, we just arrange three
  735.  back-to-back 2D rotations, one for each axis, like this...
  736.  
  737.    NewY = (OldY*Cos(ThetaX)) - (OldZ*Sin(ThetaX))  ** X axis rotation **
  738.    NewZ = (OldZ*Cos(ThetaX)) + (OldY*Sin(ThetaX))
  739.  
  740.    (Copy NewY and NewZ into OldY and OldZ)
  741.  
  742.    NewZ = (OldZ*Cos(ThetaY)) - (OldX*Sin(ThetaY))  ** Y axis rotation **
  743.    NewX = (OldX*Cos(ThetaY)) + (OldZ*Sin(ThetaY))
  744.  
  745.    (Copy NewZ and NewX into OldZ and OldX)
  746.  
  747.    NewX = (OldX*Cos(ThetaZ)) - (OldY*Sin(ThetaZ))  ** Z axis rotation **
  748.    NewY = (OldY*Cos(ThetaZ)) + (OldX*Sin(ThetaZ))
  749.  
  750.    (No copies needed, since we're done)
  751.  
  752.  The reasons for mid-copies are like I said; for each axis rotation you need
  753.  to keep using the old values until both the new ones are done.  But each
  754.  axis' rotation is independent of the other two... so after each pair, you
  755.  need to update all the values before going on to the next axis.  You don't
  756.  want to use one axis' old values when going into rotating about another
  757.  axis; that would be bad.
  758.  
  759.  Once you've done all three axes, you should have your new point, completely
  760.  rotated about each angle as you wish (ThetaX, ThetaY, and ThetaZ).
  761.  
  762.  One important point... the order in which you do these axes DOES make a
  763.  difference.  Rotating in an X-Y-Z sequence will not give you the same
  764.  results as rotating in a Z-X-Y sequence, etc.  Now, for your engine at this
  765.  point, all you're probably concerned about is looks, i.e. that your object
  766.  is rotating and you can see it rotating.  Since that's the case, it really
  767.  doesn't matter for the moment which order you do things in.  It's the
  768.  appearance that counts.  But later on, when you get into more complex
  769.  issues that involve more things than just a set of points, you'll want to
  770.  keep your rotation order consistent.  I just use X-Y-Z because it's pretty
  771.  natural. :-)
  772.  
  773.  I'm not going to get into optimizations of this rotation material until
  774.  another time, but I can give you a hint or two now... first, you'll notice
  775.  that right now it's at 12 multiplies for a full rotation (4 for each axis).
  776.  But it turns out you can reduce it to at least 9 multiplies, by
  777.  precalculating a few values at the beginning of each frame and getting a
  778.  final 3x3 matrix for the actual point rotations themselves (if you don't
  779.  know what I mean by matrix, don't worry about it at the moment; we'll get
  780.  into matrices later on).  It's something to look into, if you're curious
  781.  and feel like tinkering with the math a bit.
  782.  
  783.  Also, once again, this method of rotation is only one way to rotate.  There
  784.  are other ways, sometimes involving other coordinate systems, that can be
  785.  more efficient on occasion as well.  You'll discover those in time (and
  786.  probably in some of the later articles :)  But for now, this I think is the
  787.  simplest way to begin... get these concepts down first, and drill them into
  788.  your brain.  You'll know when to switch gears when the time comes.
  789.  
  790.  Well, looks like the end of another article!  I've got some sample source
  791.  in the supplement, as well as a PCX of that 2D rotation diagram, if you got
  792.  lost in all of this mess. :-)  Take the time to look at the code, see how
  793.  it relates to the math used in here, and most importantly, DO SOME
  794.  EXPERIMENTATION ON YOUR OWN.  This kinda stuff isn't learned by reading,
  795.  it's learned by doing.
  796.  
  797.  Now go forth, plot some dots, get them spinning, and have fun!  Keep
  798.  watching, though... 'cause it's only gonna get better. :-)
  799.  
  800.  See you next time...
  801.  
  802.  Kiwidog / Hornet , Terraformer - kiwidog@vt.edu
  803.  
  804.  
  805. =----------------------------------[VGA Hardware Tricks, Part 4/6]--[Trixter]-=
  806.  
  807.  _____Preface
  808.  
  809.  Welcome to VGA Hardware Tricks, a six-part series written by
  810.  Trixter/Hornet.  In this series, I'll be exploring ways you can push VGA
  811.  harder to achieve new effects.  The emphasis of this series is twofold:
  812.  
  813.  The techniques discussed will work on any *standard* VGA card. (No SVGA or
  814.  VESA video cards are necessary, but these techniques will work on those
  815.  cards as well.)
  816.  
  817.  The techniques discussed require very little calculation, so they will work
  818.  on slower computers.  (Some techniques, however, requires a lot of CPU
  819.  *attention*, which means that while the effects are happening, they can't
  820.  be disturbed by other calculations, etc.  Good Assembler programmers might
  821.  be able to get around this, however.)
  822.  
  823.  This series is for intermediate to advanced coders, so there are a couple
  824.  of prerequisites you should meet:  Example code will be given in assembler
  825.  and Pascal, so familiarity with those languages will be helpful when
  826.  looking at the example code; also, a familiarity with Mode X (unchained
  827.  VGA) is required, as procedures like changing video resolutions will be
  828.  discussed.
  829.  
  830.  This series covers six topics:
  831.  
  832.  - Crossfading 16-color pictures
  833.  - Crossfading 256-color pictures
  834.  - More than 256 colors: 12-bit color
  835.  - More than 256 colors: 18-bit color    (this article)
  836.  - Copper effects in text mode
  837.  - Displaying graphics in text mode
  838.  
  839.  _____Introduction
  840.  
  841.  Yes, you read that title right--we're going to display 18-bit color on a
  842.  piece of hardware only built for 8-bit color.  Seem impossible?
  843.  Technically, it is.  But using our old friend, persistence of vision, we
  844.  can fake it convincingly--and the best part is, it's not CPU intensive at
  845.  all, just a clever arrangement of pixels.
  846.  
  847.  (Note:  This technique has been so overused in 1995 that, initially, I
  848.  thought it would need no explanation; just some example code and that would
  849.  be it.  However, there is inevitably someone, somewhere, that doesn't
  850.  really grasp how this works.  So, I feel a full explanation is necessary.)
  851.  
  852.  As I've written about many times before, our brain is a very lazy thing. So
  853.  lazy, in fact, that it tends to fill in information that our eyes don't
  854.  provide.  This is called Persistence Of Vision.  (If you need a more
  855.  detailed explanation of what that is, look at previous VGA Hardware Tricks
  856.  articles or visit your local library.)  Persistence Of Vision has been used
  857.  in many places before computers even existed, like the concept of film and
  858.  television.  It's television, in fact, that provides us with the example
  859.  we'll use to coax 18-bit (262,144) color out of out 8-bit (256) color video
  860.  card.
  861.  
  862.  If you've ever gotten curious as to how your television or computer monitor
  863.  works, you might have gone right up to the screen and looked at it closely,
  864.  possibly with a magnifying glass.  If you'd had, you'd see a small hexagonal
  865.  grid of red, green, and blue dots.  They're arranged in groups of three,
  866.  like this:
  867.  
  868.    X
  869.  
  870.  X   X
  871.  
  872.  This arrangement is called a "triad".  Each red, green, and blue dot in a
  873.  triad glow with a different intensity, producing one solid color. (Well,
  874.  it's not exactly a *solid* color, but the dots are so small and close
  875.  together that POV blends them into one color for us.)  The entire screen is
  876.  made up of triads.
  877.  
  878.  To produce 18-bit color, all we have to do is emulate a series of
  879.  triads--that is, put a red, green, and blue pixel next to each other and
  880.  alter the intensity of all three to blend into a single color.  This
  881.  technique produces 18-bit color because the VGA hardware is capable of
  882.  producing 6-bit (64) intensities of red, green, and blue for any given
  883.  pixel.  So, 6+6+6 = 18-bit color, or to look at it another way, 64 red
  884.  values * 64 blue values * 64 green values = 262,144 possible colors.
  885.  
  886.  _____Implementing Triads
  887.  
  888.  To emulate a triad, we're going to need to set up the palette first. VGA is
  889.  capable of 64 different intensities of red, green, and blue, so the palette
  890.  needs to have 64 reds, 64 greens, and 64 blues.  Pseudocode for doing that
  891.  would probably look like this:
  892.  
  893.  for loop:=0 to 63 do begin
  894.    set palette index "loop"     to r=loop,g=0,b=0  <-- red entries
  895.    set palette index "loop+64"  to r=0,g=loop,b=0  <-- green entries
  896.    set palette index "loop+128" to r=0,g=0,b=loop  <-- blue entries
  897.  end;
  898.  
  899.  This leaves 64 colors left over at the end of our palette (from 192 to
  900.  255), for anything we feel like doing.
  901.  
  902.  Now we get to plot the three pixels of a triad.  Since VGA lays out pixels
  903.  in a grid (as opposed to a "honeycomb" like an actual television screen),
  904.  we have to lay them out on a grid as well.  The best way is in a line, like
  905.  this:
  906.  
  907.  Key:  R = red pixel, G = green pixel, B = blue pixel
  908.  
  909.     0 1 2 3 4 5 6 7 8 9
  910.  
  911.  0  R R R R R R R R R R
  912.  1  G G G G G G G G G G
  913.  2  B B B B B B B B B B
  914.  
  915.  3  R R R R R R R R R R
  916.  4  G G G G G G G G G G
  917.  5  B B B B B B B B B B
  918.  
  919.  etc.  So, 18-bit color pixel "(0,0)" is really "red at (0,0)", "green at
  920.  (0,1)", and "blue at (0,2)".
  921.  
  922.  _____Potential problems
  923.  
  924.  It sounds easy, doesn't it?  Just put a red, green, and blue pixel next to
  925.  each other and you've got one of those 262,144 colors.  If you were to stop
  926.  reading this article right now and jump to the compiler, you'd probably run
  927.  into a problem as soon as you entered mode 13h:  The pixels are big.  *Way*
  928.  too big.  In fact, you'd have to sit about four feet away from the screen
  929.  to ignore the fact that you're really looking at three pixels close
  930.  together instead of a new color.  Not only that, but each "pixel" is made
  931.  up of three pixels arranged vertically, which is a really weird aspect
  932.  ratio (the effective resolution is 320x66).  In order to fix these
  933.  problems, we've got to shrink the height of each pixel.  But how can we
  934.  make the pixels smaller?
  935.  
  936.  One solution that's tempting is to use a 640x480x256 VESA mode, or
  937.  something similar.  That defeats the whole purpose of this, because then a
  938.  super-vga card would be required, and this series of articles is dedicated
  939.  to achieving new effects on *standard* hardware.  (Yes, not *everyone* has
  940.  a super-vga card and monitor.)  Besides, if you were going to limit your
  941.  audience to a VESA mode, you might as well go all the way and use an actual
  942.  24-bit color mode anyway.  Finally, 640x480x256 is 300K of video memory per
  943.  page, which is too slow for animation (even on 486 machines).
  944.  
  945.  The solution, as it has been in the past, is to use Mode X.  Mode X, as you
  946.  recall, is a video mode created by unchaining the video RAM, so that you
  947.  can (amongst many other things) alter the display resolution.  It is easy
  948.  to make a resolution of 320x400 (effectively 320x133) under Mode X, which
  949.  helps a little, and actually gives us 2 video pages to work with. This is
  950.  suitable for animation.  If you need more pixels and something a little
  951.  more accurate, 320x480 (effectively 320x160) comes close to the standard
  952.  320x200 1:1.3 aspect ratio that VGA users are used to.  Because it's 480
  953.  lines, it will work with all monitors.
  954.  
  955.  Believe it or not, you can actually go higher than that, to 320x600
  956.  (effectively 320x200)!  This mode was, to my knowledge, first used by Adam
  957.  Bergstrom; in fact, his code is the code in the vgahard4.zip package
  958.  described later in this article.  Of course, this resolution is only
  959.  possible on monitors that can display 800x600, because it uses 600 screen
  960.  lines.  It also uses 192k of the 256K of video ram we have access to, so
  961.  that makes it even more unsuitable for animation.  However, it's best for
  962.  displaying static pictures; I used it for Hornet's NAID Party report
  963.  (hrn-nrpt.zip on ftp.cdrom.com) to display "320x200" 24-bit color pictures
  964.  (I shifted left (SHL) each RGB component down two bits before plotting to
  965.  the screen).
  966.  
  967.  _____Code
  968.  
  969.  Code that achieves this effect is available on ftp.cdrom.com in the
  970.  directory /pub/demos/hornet/demonews/vgahard in the file vgahard4.zip. This
  971.  article is stored there as well.  To compile the code directly, you'll need
  972.  Turbo Pascal 7.0 or later.  (The code can be compiled on earlier compilers
  973.  as well, but some slight modification might be necessary.)
  974.  
  975.  _____Notes
  976.  
  977.  This method is extremely useful for animation, since there's no palette
  978.  switching or page flipping required, unlike some other methods.  It lends
  979.  itself so well to this that it has become a "fad" effect for practically
  980.  every demo after X14 / Orange first used it on the PC.  The 18-bit color
  981.  effect is sometimes called "Orange's 262144 color mode" as a result.
  982.  Another demo that uses this is Just / Legend Design.  (In fact, the entire
  983.  demo is in that mode.)
  984.  
  985.  Ambience and Luminati by Tran claim 21-bit color; they achieve this by
  986.  using two video pages and flipping between them rapidly, using two flipping
  987.  pixels in one location to blend into a "third" pixel, similar to the 12-bit
  988.  color technique covered in VGA Hardware Tricks #3.  Once again, POV at
  989.  work.  ;)  In order to achieve this, however, Tran has to reprogram the VGA
  990.  registers, increasing the refresh rate of the screen so that it flips pages
  991.  at nearly double it's normal rate, at 100Hz (100 times a second), giving an
  992.  effect screen refresh rate of 50Hz.  This mode is not completely compatible
  993.  with all monitors, so I have not decided to cover it in this series.
  994.  Captain Hook has written up a short article on it, however, so I expect
  995.  you'll learn how to do it from him shortly.
  996.  
  997.  _____Next Time
  998.  
  999.  I'm not *quite* done with color, if you can believe that.  Next time, I'll
  1000.  show you how to display 400 different colors at the same time--in *text
  1001.  mode*.  :)  If you're familiar with the "copper" chip inside every Amiga
  1002.  computer, you'll know what I'm talking about.  Have fun experimenting until
  1003.  then!
  1004.  
  1005.  Trixter / Hornet - trixter@ftp.cdrom.com
  1006.  
  1007.  
  1008. =-[Subscribing]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  1009.  
  1010.  _____How to subscribe to DemoNews
  1011.  
  1012.  Mail to : listserver@unseen.aztec.co.za
  1013.  Body    : subscribe demuan-list [first_name] [last_name]
  1014.  
  1015.  The listserver will send DemoNews to your e-mail's return address.
  1016.  
  1017.  _____Back Issues
  1018.  
  1019.  Older issues of DemoNews can be located under /demos/hornet/demonews.
  1020.  Newly released issues of DemoNews are posted to /demos/incoming/news.
  1021.  
  1022.  
  1023. =-[Closing]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  1024.  
  1025.  For questions and comments, you can contact us at r3cgm@cdrom.com
  1026.  Your mail will be forwarded to the appropriate individual.
  1027.  
  1028.  
  1029. ..........................................................End.of.DemoNews.116.
  1030.  
  1031.  
  1032.